Progress 4GL é uma linguagem de programação de quarta geração, daí a sigla 4GL, baseada em eventos e proprietária. Ela foi desenvolvida pela empresa Progress Software Corporation em 1984, inicialmente para o sistema operacional (y) Positivo com uso em mainframes para processamento de grande volume de dados, como alternativa para outras linguagens à época como Cobol, Adabas, Natural, Clipper, CORO, etc., pois elas exigiam que o programador escrevesse um código muito extenso para qualquer aplicação. Também, uma alternativa como banco de dados relacional de alto desempenho e segurança, embutido em um único produto. A Progress Corporation tem sua sede em Bedford, Massachusetts USA, com filiais em diversos países. No Brasil sua representante é a Progress do Brasil/SP. Um dos maiores atrativos da linguagem Progress é sua portabilidade e independência de plataforma, ela funciona em praticamente todos os sistemas operacionais existentes, como: MS-DOS, Windows 3x,95,NT, UNIX, OS/2, Novell, VMS, Motif, Xenix, CTOS entre diversos outros, isso utilizando o mesmo código fonte.
A integração entre linguagem e banco de dados fazem da Progress uma excelente ferramenta para construção de qualquer aplicação comercial. Uma das maiores desvantagens de progress são as camadas de desenvolvimento - regras de negócios, dados e interface estão totalmente acopladas. A atualização e distribuição dos aplicativos é bastante simplificada, um sistema pode ser totalmente centralizado para acesso de vários clientes simultâneos, usando o conceito de sistema "stand-alone", e atualizado a qualquer tempo, parcialmente ou completamente sem gerar qualquer erro ou necessitar de uma parada momentanea do sistema.
A linguagem Progress é utilizada, basicamente, para desenvolvimento de sistemas de gestão empresarial (ERPs), que são sistemas integrados para controle de uma empresa. É principalmente dirigida às corporações de médio e grande porte, devido o alto custo financeiro de suas licenças.
Exemplo de um programa em Progress:
Exibe n números perfeitos
DISP 'Hello World'.
MESSAGE' 'Hello World'.
DEFINE VARIABLE i AS INTEGER INIT 0 NO-UNDO.
DEFINE VARIABLE j AS INTEGER INIT 0 NO-UNDO.
DEFINE VARIABLE soma AS INTEGER INIT 0 NO-UNDO.
DEFINE VARIABLE num-achados AS INTEGER INIT 1 NO-UNDO.
DEFINE VARIABLE qtd-procurada AS INTEGER INIT 0 NO-UNDO.
DEFINE VARIABLE num-perf AS INTEGER INIT 0 NO-UNDO.
FORM num-perf
HELP "Digite um número"
WITH 1 DOWN 1 COL ROW 5 CENTER FRAME numero.
UPDATE num-perf WITH FRAME numero.
ASSIGN qtd-procurada = num-perf
i = 0.
DO WHILE (num-achados <= qtd-procurada):
ASSIGN i = i + 2.
IF (i MOD 10 = 6 OR
i MOD 10 = 8)
THEN DO:
ASSIGN soma = 0
j = 1.
DO WHILE (j <= (i / 2)):
IF (i MOD j = 0)
THEN ASSIGN soma = soma + j
j = j + 1.
END.
IF (i = soma)
THEN DO:
MESSAGE i ' é Numero Perfeito'
VIEW-AS ALERT-BOX INFO BUTTONS OK.
ASSIGN num-achados = num-achados + 1.
END.
END.
END.
Fonte original: progress 4gl. Compartilhado com Creative Commons Attribution-ShareAlike 3.0 License
Ne Demek sitesindeki bilgiler kullanıcılar vasıtasıyla veya otomatik oluşturulmuştur. Buradaki bilgilerin doğru olduğu garanti edilmez. Düzeltilmesi gereken bilgi olduğunu düşünüyorsanız bizimle iletişime geçiniz. Her türlü görüş, destek ve önerileriniz için iletisim@nedemek.page